<%@page import="com.drerp.RH.carreira.RegraPlanoCarreira"%>
<%@page import="com.drerp.RH.carreira.constantes.TiposAcaoPlanoCarreira"%>
<%@page import="com.drerp.RH.carreira.constantes.UnidadesMetrica"%>
<%@page import="com.drerp.RH.carreira.constantes.ComparadoresMetrica"%>
<%@page import="java.util.List"%>
<%@page import="com.drerp.RH.carreira.Metrica"%>
<%@page import="com.drerp.RH.Colaborador"%>
<%@page import="com.drerp.RH.Cargo"%>
<%@page import="com.drerp.RH.carreira.constantes.TiposRegraPlanoCarreira"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>

<script type="text/javascript">
	$("#acao").ready(carrega_valor_acao);
	
	function carrega_valor_acao() {
		var acao_tipo = $("#acao").val();
		
		$.ajax({
			url: "_select_acao_valor.jsp?acao=" + acao_tipo + "&id=" + $("#id").val(),
			success: function(data) {
				$("#valor_acao").html(data);
			}
		});
	}
</script>

<div class="inner_center">
	<div class="title" style="width: 80px;">Detalhes</div>
	
	<p>
	<% 
		RegraPlanoCarreira regra = null;
		try {
			long regraId = Long.parseLong(request.getParameter("id"));
			regra = RegraPlanoCarreira.getRegraPorId(regraId);
		} catch(NumberFormatException e) {
			// Nada a fazer
		}
		Cargo cargo = null;
		try {
			long cargoId = Long.parseLong(request.getParameter("cargo"));
		 	cargo = Cargo.encontrarCargoPorId(cargoId);
		} catch (NumberFormatException e) {
			// Nada a fazer
		}
		
		Colaborador func = null;
		try {
			long funcId = Long.parseLong(request.getParameter("func"));
			func = Colaborador.encontrarColaboradorPorId(funcId);
		} catch (NumberFormatException e) {
			// Nada a fazer
		}
	
		int indice = Integer.parseInt(request.getParameter("valor"));
		TiposRegraPlanoCarreira tipo = TiposRegraPlanoCarreira.values()[indice];
		
		boolean mostra = !(tipo == TiposRegraPlanoCarreira.FUNCIONARIO && Colaborador.contaColaboradoresPorCargo(cargo) < 1);
		
		boolean edit = regra != null;
		
		switch(tipo) {
			case GERAL:%>
				Essas regras serão aplicadas a todos os funcionários.
	<%          break;
			case CARGO:%>
				Essas regras serão aplicadas ao(s) <strong><%= Colaborador.encontrarColaboresPorCargo(cargo).size() %></strong> <%= cargo.getNome() %> cadastrados.
	<%			break;
			case FUNCIONARIO:%>
				<jsp:include page="_detalhes_funcionario.jsp">
					<jsp:param name="func_id" value="<%= func == null? -1 : func.getUsuario_id() %>"/>
				</jsp:include>
	<%			break;
		}
	%>
	
	</p>
</div>

<% if(mostra) { %>
	<div class="inner_center">
		<div class="title" style="width: 55px;">Regra</div>
		
		<p>
			Nome da Regra: <input name="nome" type="text" style="width: 350px;" <%= edit ? "value=\""+ regra.getNome() + "\"" : "" %> />
		</p>
		
		<p>
			Se
			<select name="metrica">
		<% for(Metrica metrica : Metrica.encontrarTodasMetricas()) { %>
				<option value="<%= metrica.getMetricaId() %>"
					<% if(edit) { %>
						<%= regra.getCondicao().getMetrica().getMetricaId() == metrica.getMetricaId() ? "selected=\"selected\"" : "" %>
					<% } %>
				>
					<%= metrica.getNome() %>
				</option>
		<% } %>
			</select>
			
			for
			<select name="comparador">
		<% for(ComparadoresMetrica comparador : ComparadoresMetrica.values()) { %>
				<option value="<%= comparador.ordinal() %>"
					<% if(edit) { %>
						<%= regra.getCondicao().getComparador() == comparador ? "selected=\"selected\"" : "" %>
					<% } %>
				>
					<%= comparador.toString() %>
				</option>
		<% } %>
			</select>
			
			<input name="valor" type="text" style="width: 40px; text-align: center;" <%= edit? "value=\"" + regra.getCondicao().getValor() + "\"" : "" %>/>
			
			<select name="unidade">
		<% for(UnidadesMetrica unidade : UnidadesMetrica.values()) { %>
				<option value="<%= unidade.ordinal() %>"
					<% if(edit) { %>
						<%= regra.getCondicao().getMetrica().getUnidade() == unidade ? "selected=\"selected\"" : "" %>
					<% } %>
				>
					<%= unidade.toString() %>
				</option>
		<% } %>
			</select>
		</p>
		
		<p>
			Então
			<select name="acao" id="acao" onchange="carrega_valor_acao();">
		<% for(TiposAcaoPlanoCarreira tipoAcao : TiposAcaoPlanoCarreira.values()) { %>
				<option value="<%= tipoAcao.ordinal() %>"
					<% if(edit) { %>
						<%= regra.getAcao().getTipo() == tipoAcao ? "selected=\"selected\"" : "" %>
					<% } %>
				>
					<%= tipoAcao.toString() %>
				</option>
		<% } %>
			</select>
			
			<span id="valor_acao"></span>
		</p>
	</div>
<% } %>